import { http } from "@/utils/http";

// 登录请求参数
export type UserLoginDTO = {
  /** 用户名或手机号 */
  username: string;
  /** 密码 */
  password: string;
};

// 登录返回结果
export type UserLoginVO = {
  /** 登录token */
  token: string;
  /** 用户名 */
  username: string;
  /** 头像URL */
    avatar: string;
};

// 用户信息
export type UserVO = {
  /** 用户ID */
  id: number;
    /** 用户名 */
    username: string;
  /** 性别（0未知1男2女） */
  gender: number;
  /** 手机号 */
  phone: string;
  /** 头像URL */
  avatar: string;
};

// 通用返回结果类型
export type Result<T> = {
  /** 状态码 */
  code: number;
  /** 消息 */
  message: string;
  /** 数据 */
  data: T;
};

// 登录接口
export const login = (data: UserLoginDTO) => {
  return http.request<UserLoginVO>("post", "/user/login", { data });
};

// 登出接口
export const logout = () => {
  return http.request<Result<string>>("post", "/user/logout");
};

// 获取用户信息接口
export const getUserInfo = () => {
  return http.request<UserVO>("get", "/user/info");
};
